/**
 * @author 29284
 * @since 2024/12/10 20:38
 */

import java.util.ArrayList;
import java.util.Scanner;

/**
 *
 * @author 29284
 * @since 2024/12/10 20:38
 */
public class WebPageStatistics {
    //ArrayList来存储页面对象
    private ArrayList<Page> pages=new ArrayList<>();
    Page p1=new Page();
    Page p2=new Page();
    //访问方法
    private  Page findPage(String url){
        for (Page page : pages) {
            if (page.getUrl().equals(url)) {
                return page;
            }
        }
        return null;
    }
    //记录网页访问
    public void recordVisit(String url){
        Page page= findPage(url);
        if (page == null) {
            page=new Page(url);
            pages.add(page);
        }
        page.incCount();
    }
    //显示访问量排行榜
    public void recordRank(){
        pages.sort((p1,p2)->p2.getCount()-p1.getCount());
        System.out.println("Ranking list:");
        for (Page page : pages) {
            System.out.println("url:"+page.getUrl()+",count:"+page.getCount());
        }
    }
    //统计总访问量
    public int totalVisit(){
        return pages.stream().mapToInt(Page::getCount).sum();
    }
    //计算平均访问量
    public double aveCount(){
        double ave=(double) totalVisit() /pages.size();
        return ave;
    }
    //显示页面最后访问时间
    public void lastVisitTime(){
        Scanner scanner=new Scanner(System.in);
        while (true) {
            String url2=scanner.nextLine();
            if (url2.equals("exit")) {
                break;
            }
            else{
                Page page=findPage(url2);
                if (page == null) {
                    System.out.println("Not found url:"+url2);
                    System.out.println("Please input again(if input exit break!):");
                }
                else {
                    System.out.println("lastVisitTime"+url2+": "+page.getLastTime());
                }
            }
        }
    }
    //清空访问统计
    public void clearStatistics(){
        pages.clear();
    }


}
